//게시물 삭제 폼에서 비밀번호를 입력하고 삭제 버튼을 누르면 호출되는 클래스
//비밀번호를 확인해서 실제로 게시물을 지울것인지 여부를 결정하고 게시물을
//삭제하면 게시물 목록 페이지로 이동

package net.board.action;

import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.board.db.*;

public class BoardDeleteAction implements Action {
	//작업을 수행할 메서드 - Struts가 execut 메서드를 이용해서 동작
	 public ActionForward execute(HttpServletRequest request,HttpServletResponse response) throws Exception{
		 
		 //포워딩할 주소를 저장하는 클래스의 객체를 생성
		 ActionForward forward = new ActionForward();
		 //받아온 데이터에 한글이나 특수문자가 있을 경우를 가정해서 데이터를 인코딩
		 request.setCharacterEncoding("UTF-8");
		 
		 //메서드의 수행결과와 글쓴이 확인을 위한 변수
		 boolean result=false;
		 boolean usercheck=false;
		 int num=Integer.parseInt(request.getParameter("num"));
	   	
	   	BoardDAO boarddao=new BoardDAO();
	   	//글쓴이 인지 확인
	   	usercheck=boarddao.isBoardWriter(num, request.getParameter("BOARD_PASS"));
	   	if(usercheck==false){
	   		response.setContentType("text/html;charset=UTF-8");
	   		PrintWriter out=response.getWriter();
	   		out.println("<script>");
	   		out.println("alert('삭제할 권한이 없습니다.');");
	   		out.println("location.href='./BoardList.bo';");
	   		out.println("</script>");
	   		out.close();
	   		return null;
	   	}
	   	//글쓴이가 맞으면 실제 게시물을 삭제하는 메서드 호출
	   	result=boarddao.boardDelete(num);
	   	if(result==false){
	   		System.out.println("게시판 삭제 실패");
	   		return null;
	   	}
	   	
	   	System.out.println("게시판 삭제 성공");
	   	forward.setRedirect(true);
   		forward.setPath("./BoardList.bo");
   		return forward;
	 }
}